23

» WarCraft 3 / Knockback

Похожие вопросы:

ответ
событие юнит умер
действие удалить юнита из группы
хватит уже писать тупые вопросы ответ на которые есть в статьях и F.A.Q.
ответ
Эм. Ну если триггерно делаешь, то мути так: speed=maxspeed*(1-distance/max_distance) , где speed- текущая. maxspeed- начальная скорость (самая максимальная без замедления), distance (уже пройденное расстояние), maxdistance (максимальное расстояние).
Ой. не дочитал. Там зависимость еще от времени. Ну тогда вообще не проблема.
Мб тогда стоит к школьной физике обратиться?) S=V0+(at^2)/2. A будет отрицательной (a=-V0/t), т.к конечная скорость = 0.
S=V0t+(at^2)/2.

23

» WarCraft 3 / Типы переменных

Похожие вопросы:

ответ
Странный Парень:
Не надо обнулять:
  • integer
  • real
  • string
  • boolean
Кроме того, нельзя использовать boolexpr Example = null, обязательно используйте boolexpr Example returns true
ответ
Stigmator, невозможно сослаться на переменную из триггеров. Только на РО поля.
ответ
Sync функции нужны для синхроеизации локальных данных через кеш.
ответ
даже наличие 2000 глобальный переменных особо не скажется на производительности, значение лишь имеет их обнуление и само использование в коде карты

23

» WarCraft 3 / Два босса с одним здоровьем.

Похожие вопросы:

ответ
Событие каждые 1 сек времени
пауза triggering unit
^ Не имеет смысла, здесь нет triggering unit, исправляй, сообщи об изменениях или неизменениях.
У тя там чета про убийства ещё, но спрятать юнит проиграв анимацию смерти не означает его убийство и из группы он не удаляется, если состоит. Так что имей в виду.

23

» WarCraft 3 / Выполнение заданий

Похожие вопросы:

ответ
Триггерно Событие
потом действие
звук- играть
но изначально нужно найти необходимый звук в редакторе звуков кликнуть правой кнопкой мыши использовать как звук :)
ответ
Steal nerves:
способ 1
сделайте счетчик, целочисленную переменную берем, назовем ее Int. В начале игры приравниваем к нулю (хотя на гуи можно задать в редакторе переменных)
С каждым разом когда задание выполняется, вы складывается
set Int = Int + 1
способ 2
еще с массивами можно поиграться, создаете переменную типа квест с массивом, и засовываете каждое задание в массив переменной. В начале игры создаете или когда будете получать
допустим создаете 5 разных квестов в начале игры
set quest[0] = создать квест
set quest[1] = создать квест
и так далее
... [2] = ...
... [3] = ...
... [4] = ...
set quest[5] = создать квест
тут должна быть еще одна целочисленная переменная - счетчик на кол-во взятых задании, независимо от того, выполнено или не выполнено. Как только получаешь еще одно задание, то прибавляешь к этой переменной. Эта переменная нужна для цикла, точнее для выхода из цикла. Назовем ее max
set max = 5 //всего 5 квестов создали
И еще одна целочисленная переменная нужна для подсчета кол-ва выполненных квестов, назовем K
циклом прогоняете и проверяете, сколько выполнено квестов (есть условие в boolean по квестам, что данный квест выполнен/провален и др.)
set K = 0 //перед циклом лучше обнулить счетчик
цикл от А до max
	if quest[A] == пройден then //найдешь в boolean
		set K = K + 1
	endif
))	
то что получим в переменной К после цикла, и будет определять кол-во
ответ
Нет такой функции запустить
вы классный
причем это недалеко от включения. либо вы очень невнимательны, либо очень ленивы

23

» WarCraft 3 / Не могу найти статью

Похожие вопросы:

ответ
он идёт в комплекте с самой игрой и установки не требует
максимум что можно, это скачать новый варик с торрента, если твой битый
ответ
научись юзать поиск!!1адын!
ответ
Фон кампании в стандарте - это отдельная модель сцены, которую мы видим. Сделать такое невероятно сложно по причине нехватки нужных редакторов с работой подобных моделей и в том числе отсутствие внятного освещения. Она имеет несколько анимаций, зачастую birth stand ну и разумеется настроенные и анимированные камеры.

23

» WarCraft 3 / Модели из dota 2?

Похожие вопросы:

ответ
Немного оптимизировал текстурки, убрал альфаканал. В mdlvis качество ухудшилось не сильно, тестируй. На счет моделей, там итак анимаций почти нет, скелет резать негде ОО
Забыль
ответ
это раздел Q/A а не сделайте за меня
ответ
Steal nerves:
то что ты скинул это VJass. Короче нужен тебе JNGP, там же включить плагин UMS. Затем должен сохранить два раза. мб инфа пригодиться как использовать JNGP. По идее щас более новый JNGP и проблем не должно быть
вот карта

23

» WarCraft 3 / ИИ

Похожие вопросы:

ответ
Пробовать не хочу, но предложу вот, что:
Если цель - защитить карту от подглядывания. То при старте игры или инициализации (если получится) можно запустить триггер с условием Вид: карта разведана is Set == да (процитировал текст условия из Гуи), действие - замкнутый цикл, или вызвать фатальную ошибку, вылет и т.д. Суть в том, что когда игрок запустит карту с такими параметрами, то тупо закрашить варик.
ответ
вопросы типа сделайте за меня не принимаются
по поводу того как это делать написано здесь xgm.guru/p/wc3/articles
ответ
BrEd Pitt, что значит использовать
берёшь и создаёшь юнитов для резервного игрока а потом отдаёшь им приказ
ответ
Возможно listfile.txt повредился.
Перекачай его.
ответ
есть событие - юнит получает урон. в нём отслеживается как жертва, так и наносящий урон. можно хоть через хэш, хоть через структуру Юнита записывать всё, что угодно. Кто от кого конкретно сколько получил урона, кто кому сколько нанёс, сколько провисел на ком-то бафф яда и т.п. (Сначала был loop, а теперь периодический триггер). Каждые N секунд, перебираешь всех юнитов в массиве или списке, и отслеживаешь всё, что надо.
Структура - Unit. У неё есть двойной список с юнитами и уроном от яда (полученным или нанесённым - зависит от того, у кого будет этот список - у жертв или у тех, кто наносит яд). Типа DoubleList. В DoubleList есть элементы DoubleElement. В каждом таком элементе записаны unit и real (урон от яда от этого юнита). При получении урона от яда перебирается список, если юнит уже есть, урон от него (или ему) прибавляется. Если нет, то создаётся новый элемент с новым юнитом.
Периодически у нужных юнитов эти списки перебираются. Всё.

23

» WarCraft 3 / Не открывается карта

Похожие вопросы:

ответ
Я не уверен, но возможно функция DestroyTrigger есть в JNGP 5d exp.2, но нет в JNGP твоего друга? Пусть он попробует открыть карту в JNGP 5d exp.2.
ответ
Варианта два - допротектили карту либо у тебя преаддоненый варик. Чаще встречается первое.
ответ
~16GB:
Вот содержимое карты
ответ
во первых: не надо дублировать вопросы
во вторых: у меня твоя карта открывается
правда я не настолько сумасшедший чтобы юзать вин10
в третьих: размер мапы большой и может тупо не хватать памяти (особенно если юзаешь вин10)
советую попробовать переустановить jngp
если не поможет то сменить винду
ответ
Steal nerves:
JNGP снимает ограничения (например максимум декорации 20к), если обычным редактором открыть критует. В jngp есть новые гуишные функции, которых нет в обычном, стандартный редактор их не распознает. Юзайте поиск, такой вопрос уже задавали
можно вместо новых триггерных команд юзать нативки. Писать например через Custom Script или вообще на jass

23

» WarCraft 3 / Как заменить текстуры рельефа?

Похожие вопросы:

ответ
Артес Менетил, посмотри это, должно подойти:
Или, если тебе нужно, чтобы войска могли ходить по модели трона, то сделай следующее:
Как сделать, чтобы юнит смог взобраться на любую декорацию?
Для этого нужно:
  1. Декорацию переместить в "Типы декораций - Мосты".
  2. Дать декорации галочку "можно ставить на склонах".
  3. Дать декорации параметр максимальный угол крена = 90 градусов.
  4. Убрать pathlin
И загородить блокираторами пути места, за которые нельзя заходить.

23

» WarCraft 3 / Как сделать плавающий текст?

Похожие вопросы:

ответ
Melissa, нужно отслеживать появление/удаление юнитов
каждый раз создавать группу намного удобнее
Тимур, а что по поводу
и вместо
GetFilterUnit() // используется при сортировки группы (Condition)
надо использовать
GetEnumUnit() // используется при переборе группы (ForGroup)
ответ
Просто , нужно тогда будет удалять старый плавающий текст с тем значением , либо там есть замена , ну если вообще не сможешь можешь кинуть мапу , сделаю быстренько .
ответ
После создания текста скрываешь его от всех.
Обращение идёт на группу игроков - все игроки.
Далее берёшь группу (новую, переменная) и заносишь в неё только тех игроков, которые должны увидеть этот текстаг.
Например через аналог "отряда" для юнитов - Группа игроков - действие...
Если выбранный игрок видит точку/юнита - то добавить его в группу
Далее - показать текст этой группе
В конце - очистить группу (удалить/затереть, если это локалка)
ответ
Оттуда достаточно взять только функцию win2World, которая переводит экранные координаты в мировые.

23

» WarCraft 3 / Что делать

Принятый ответ
Похожие вопросы:

ответ
  1. Если юзал JNGP, залезь в папку backups - мб там остались работоспособные недавние копии
  2. Попробуй MPQ Editor, мб удастся что-то вытащить, чтобы не совсем с нуля начинать, если карта таки сломалась
  3. Вообще если карта долго грузится, это не факт, что она не загрузится вообще (хотя, судя по описанию ситуации, вряд ли это твой случай)
ответ
nvc123, да, и я это уже понял
ответ
Наверно заставляет героя (whichHero) прокачать скилл (abilcode) по его рав-коду (например 'A000').
Не?
ответ
да я решыл проблему я просто перегрузил комп
Я понел в чом проблема я поставил в vjass 2 галки нижние включил из надо отключать и тогды проблем не будет

23

» WarCraft 3 / как заказать модель?

Принятый ответ
Похожие вопросы:

ответ
это Q/A
тут разрешены только вопросы
в следующий раз за заявки типа "сделайте мне что либо" пойдут варны

23

» WarCraft 3 / TEXTTAG

Похожие вопросы:

ответ
Steal nerves:
function Text takes string text,unit u,real size,real red,real green,real blue,real alpha returns nothing
set bj_lastCreatedTextTag = CreateTextTag()
call SetTextTagTextBJ(bj_lastCreatedTextTag,text,size)
call SetTextTagPosUnitBJ(bj_lastCreatedTextTag,u,0.00)
call SetTextTagColorBJ(bj_lastCreatedTextTag,red,green,blue,alpha)
call SetTextTagPermanent(bj_lastCreatedTextTag,false)
call SetTextTagFadepoint(bj_lastCreatedTextTag,2)
call SetTextTagLifespan(bj_lastCreatedTextTag,4)
call SetTextTagVelocity(bj_lastCreatedTextTag,0.,0.027)
endfunction
и не нужны никакие локалки типа texttag Label потому что память загромождает и обнулять не нужно. вроде говорить адольф
делаем непостоянным SetTextTagPermanent и потом время жизни ставим SetTextTagLifespan
а SetTextTagVelocity заставляет текст двигаться по оси x и y
ответ
Какой ужас
Делай вот так.
бронепоезд
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
ответ
Хендл равен мусору какое то время, потом движок сам решит что с ним делать.

23

» WarCraft 3 / Как показать изображение

Похожие вопросы:

ответ
На низких настройках, такая же фигня как и у тебя.
Вылечилось оптимизацией иконки через blplab (у тебя там 15 ложных мипмапов)
на слово уже не верим?
ответ
1 Попробуй через игровой интерфейс где "броня" поставить "Защита: |c00000000" Возможно цифра станет чёрной и следовательно невидимой.
2 Импортируй нестандартную модель времени, которая закрывает ту часть, что с бронёй, это сработает точно.
Проверил из интереса. нет 1 способ не канает, только слово защита затереть можно. Иконку можно поставить чёрную или прозрачную, оставив лишь циферку. Если всё-таки хочется скрыть всё - импортируй модель времени, например из карты Ded moroz battle
ответ
потому что чистить группы игроков - это уже изврат
запихивай нужных игроков в переменную и с ней работай, в конце действий - обнуляй
а так ты уже борщишь

и про опт стоит задумываться, если у тебя объем кода как в доте, к примеру. тогда да
иначе - какой смысл?
ответ
Ivan99, субтитры включи
Умник

23

» WarCraft 3 / Баг с анимацией.

Похожие вопросы:

ответ
текстура не отображается при неправильном формате blp, чаще всего — при отсутствии сжатия
ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.

23

» WarCraft 3 / Fatal error при запуске карты.

Похожие вопросы:

ответ
Попробуй отключить триггеры, для начала, и затем проверь, запустится ли карта в игре. Особенно те, которые были созданы/редактированы относительно недавно до появления фатала.
ответ
biridius:
скинь хоть сам файл ошибки, из папки Errors (в папке с варом) там текстовые файлы, найди с нужной датой/временем
иначе ничего не понятно
Может расскажите лучше как я сам с этим текстовым файлом смогу решить эту проблему)?
+ я там сверху кусок скинул
Кароче - вот

x86 Registers

EAX=00000000 EBX=00000000 ECX=0EEA0020 EDX=0EEAE0A8 ESI=001985EC
EDI=00000000 EBP=0EE70088 ESP=0019842C EIP=00000000 FLG=00010202
CS =0023 DS =002B ES =002B SS =002B FS =0053 GS =002B

Stack Trace (Manual)

Address Frame Logical addr Module
00000000 0EE70088 0000:00000000 C:\Program Files (x86)\WarCraft III - 1.26\war3.exe

Stack Trace (Using DBGHELP.DLL)

6F45862F Game.dll GameMain+4517343 (0x00000000,0x00000000,0x00000000,0x00000000)

Loaded Modules

0x00400000 - 0x0047D000 C:\Program Files (x86)\WarCraft III - 1.26\war3.exe
0x15000000 - 0x15061000 C:\Program Files (x86)\WarCraft III - 1.26\Storm.dll
0x21100000 - 0x2115F000 C:\Program Files (x86)\WarCraft III - 1.26\mss32.dll
0x22600000 - 0x22616000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Mssfast.m3d
0x22700000 - 0x22717000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Mssdolby.m3d
0x22C00000 - 0x22C18000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Msseax2.m3d
0x24600000 - 0x24611000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Reverb3.flt
0x26F00000 - 0x26F2A000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Mp3dec.asi
0x60000000 - 0x6005D000 C:\Program Files (x86)\WarCraft III - 1.26\ijl15.dll
0x63EB0000 - 0x647DB000 C:\WINDOWS\System32\DriverStore\FileRepository\c0318486.inf_amd64_11ba0b4b7cc81d52\atiumdag.dll
0x647E0000 - 0x6487B000 C:\WINDOWS\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9348_none_d08c1480442bf1e1\MSVCR80.dll
0x64AC0000 - 0x64B4E000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.16299.64_none_2c284a8117b59840\COMCTL32.dll
0x669D0000 - 0x66B4B000 C:\WINDOWS\System32\DriverStore\FileRepository\c0318486.inf_amd64_11ba0b4b7cc81d52\aticfx32.dll
0x66FB0000 - 0x66FD6000 C:\WINDOWS\SYSTEM32\cryptnet.dll
0x66FF0000 - 0x66FF6000 C:\WINDOWS\SYSTEM32\detoured.dll
0x67000000 - 0x67020000 C:\WINDOWS\SYSTEM32\amdihk32.dll
0x679C0000 - 0x679E7000 C:\WINDOWS\System32\DriverStore\FileRepository\c0318486.inf_amd64_11ba0b4b7cc81d52\atiu9pag.dll
0x67A80000 - 0x67A88000 C:\WINDOWS\SYSTEM32\AVRT.dll
0x67A90000 - 0x67AEB000 C:\WINDOWS\System32\MMDevApi.dll
0x67AF0000 - 0x67BE4000 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL
0x67BF0000 - 0x67C12000 C:\WINDOWS\System32\DEVOBJ.dll
0x6C190000 - 0x6C1AE000 C:\WINDOWS\SYSTEM32\gpapi.dll
0x6C1B0000 - 0x6C1DF000 C:\WINDOWS\system32\rsaenh.dll
0x6C280000 - 0x6C30C000 C:\WINDOWS\SYSTEM32\CoreMessaging.dll
0x6C310000 - 0x6C544000 C:\WINDOWS\SYSTEM32\CoreUIComponents.dll
0x6C550000 - 0x6C5C7000 C:\WINDOWS\SYSTEM32\TextInputFramework.dll
0x6C5D0000 - 0x6C69E000 C:\Windows\System32\Windows.UI.dll
0x6E0D0000 - 0x6E19B000 C:\WINDOWS\SYSTEM32\wintypes.dll
0x6F000000 - 0x6FBB5000 C:\Program Files (x86)\WarCraft III - 1.26\Game.dll
0x70BB0000 - 0x70C66000 C:\WINDOWS\SYSTEM32\d3d8.dll
0x70DF0000 - 0x70DF8000 C:\WINDOWS\SYSTEM32\WINNSI.DLL
0x712B0000 - 0x7138F000 C:\WINDOWS\SYSTEM32\OPENGL32.dll
0x71C40000 - 0x71C65000 C:\WINDOWS\SYSTEM32\GLU32.dll
0x71C70000 - 0x71CF0000 C:\WINDOWS\SYSTEM32\DSOUND.DLL
0x72000000 - 0x72007000 C:\WINDOWS\SYSTEM32\d3d8thk.dll
0x726B0000 - 0x726D3000 C:\WINDOWS\system32\dwmapi.dll
0x72710000 - 0x72789000 C:\WINDOWS\system32\uxtheme.dll
0x72790000 - 0x72A54000 C:\WINDOWS\SYSTEM32\WININET.dll
0x72BE0000 - 0x72C35000 C:\WINDOWS\SYSTEM32\mswsock.dll
0x73980000 - 0x73AFA000 C:\WINDOWS\System32\PROPSYS.dll
0x73C50000 - 0x73C63000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
0x73CE0000 - 0x73D08000 C:\WINDOWS\SYSTEM32\ntmarta.dll
0x73D10000 - 0x73D34000 C:\WINDOWS\SYSTEM32\dbgcore.DLL
0x73D40000 - 0x73EC1000 C:\WINDOWS\SYSTEM32\dbghelp.dll
0x73F30000 - 0x73F49000 C:\WINDOWS\SYSTEM32\bcrypt.dll
0x73F50000 - 0x73F80000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
0x74240000 - 0x74263000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
0x742D0000 - 0x742F4000 C:\WINDOWS\SYSTEM32\WINMM.dll
0x74370000 - 0x74378000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
0x743A0000 - 0x743A8000 C:\WINDOWS\SYSTEM32\VERSION.dll
0x743B0000 - 0x743BA000 C:\WINDOWS\System32\CRYPTBASE.dll
0x743C0000 - 0x743E0000 C:\WINDOWS\System32\SspiCli.dll
0x743E0000 - 0x74423000 C:\WINDOWS\System32\sechost.dll
0x74430000 - 0x74500000 C:\WINDOWS\System32\KERNEL32.DLL
0x74500000 - 0x74522000 C:\WINDOWS\System32\GDI32.dll
0x74530000 - 0x74575000 C:\WINDOWS\System32\SHLWAPI.dll
0x74580000 - 0x74587000 C:\WINDOWS\System32\NSI.dll
0x74590000 - 0x74767000 C:\WINDOWS\System32\KERNELBASE.dll
0x747D0000 - 0x748E7000 C:\WINDOWS\System32\ucrtbase.dll
0x748F0000 - 0x7496C000 C:\WINDOWS\System32\msvcp_win.dll
0x74970000 - 0x74AB4000 C:\WINDOWS\System32\MSCTF.dll
0x74AC0000 - 0x74ACE000 C:\WINDOWS\System32\kernel.appcore.dll
0x74AE0000 - 0x74B46000 C:\WINDOWS\System32\WS2_32.dll
0x74B50000 - 0x74CD2000 C:\WINDOWS\System32\CRYPT32.dll
0x74CE0000 - 0x74CEE000 C:\WINDOWS\System32\MSASN1.dll
0x74CF0000 - 0x74DAD000 C:\WINDOWS\System32\msvcrt.dll
0x74DB0000 - 0x74DF6000 C:\WINDOWS\System32\WINTRUST.dll
0x74E00000 - 0x74F5F000 C:\WINDOWS\System32\gdi32full.dll
0x74FC0000 - 0x762F3000 C:\WINDOWS\System32\SHELL32.dll
0x76360000 - 0x76457000 C:\WINDOWS\System32\ole32.dll
0x76460000 - 0x764B7000 C:\WINDOWS\System32\bcryptPrimitives.dll
0x764C0000 - 0x76538000 C:\WINDOWS\System32\ADVAPI32.dll
0x76540000 - 0x765C8000 C:\WINDOWS\System32\shcore.dll
0x765D0000 - 0x76816000 C:\WINDOWS\System32\combase.dll
0x76820000 - 0x768F4000 C:\WINDOWS\System32\comdlg32.dll
0x76900000 - 0x769BE000 C:\WINDOWS\System32\RPCRT4.dll
0x76F60000 - 0x76F74000 C:\WINDOWS\System32\profapi.dll
0x76FB0000 - 0x76FE8000 C:\WINDOWS\System32\cfgmgr32.dll
0x76FF0000 - 0x775B6000 C:\WINDOWS\System32\windows.storage.dll
0x775C0000 - 0x775D6000 C:\WINDOWS\System32\win32u.dll
0x775E0000 - 0x77755000 C:\WINDOWS\System32\USER32.dll
0x777F0000 - 0x77872000 C:\WINDOWS\System32\clbcatq.dll
0x77880000 - 0x778C5000 C:\WINDOWS\System32\powrprof.dll
0x778D0000 - 0x778F5000 C:\WINDOWS\System32\IMM32.dll
0x77900000 - 0x77993000 C:\WINDOWS\System32\OLEAUT32.dll
0x779A0000 - 0x77B2D000 C:\WINDOWS\SYSTEM32\ntdll.dll
дальше уже - Memory Dump
Так... Щас обнаружил что это у меня такая херня со всеми картами которые я сохранял в невгене... ВСЕ запутанее и странееее...
Проблема решилась переустановкой редактора повторным сохранением карты. Дело было в конфликте программы мусорщика ВСЕМ СПС.

23

» WarCraft 3 / Модель/Текстура неба

Похожие вопросы:

ответ
У тебя в модели неправильно прописан путь к стандартной текстуре и ноль геосетов. Вот исправление, пробуй. Не пойдет - добавляй геосеты.

23

» WarCraft 3 / Крашит карту

Похожие вопросы:

ответ
Ethernet, причина в том что вар пытается читать null
это может происходить из-за
  1. кода
  2. ро
  3. моделей
  4. фазы луны
  5. проклятого места
  6. пола юзера
  7. сексуальной ориентации юзера
  8. пришельцев с альфа центавра
  9. пришельцев из другого времени
  10. пришельцев из параллельных миров
...
  1. любая другая причина
ответ
Крашлог и карту желательно, мб где то пропустили скобку?
ответ
приложи лучше .txt файл с крашем из папки /errors
ответ
biridius:
скинь хоть сам файл ошибки, из папки Errors (в папке с варом) там текстовые файлы, найди с нужной датой/временем
иначе ничего не понятно
Может расскажите лучше как я сам с этим текстовым файлом смогу решить эту проблему)?
+ я там сверху кусок скинул
Кароче - вот

x86 Registers

EAX=00000000 EBX=00000000 ECX=0EEA0020 EDX=0EEAE0A8 ESI=001985EC
EDI=00000000 EBP=0EE70088 ESP=0019842C EIP=00000000 FLG=00010202
CS =0023 DS =002B ES =002B SS =002B FS =0053 GS =002B

Stack Trace (Manual)

Address Frame Logical addr Module
00000000 0EE70088 0000:00000000 C:\Program Files (x86)\WarCraft III - 1.26\war3.exe

Stack Trace (Using DBGHELP.DLL)

6F45862F Game.dll GameMain+4517343 (0x00000000,0x00000000,0x00000000,0x00000000)

Loaded Modules

0x00400000 - 0x0047D000 C:\Program Files (x86)\WarCraft III - 1.26\war3.exe
0x15000000 - 0x15061000 C:\Program Files (x86)\WarCraft III - 1.26\Storm.dll
0x21100000 - 0x2115F000 C:\Program Files (x86)\WarCraft III - 1.26\mss32.dll
0x22600000 - 0x22616000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Mssfast.m3d
0x22700000 - 0x22717000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Mssdolby.m3d
0x22C00000 - 0x22C18000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Msseax2.m3d
0x24600000 - 0x24611000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Reverb3.flt
0x26F00000 - 0x26F2A000 C:\Program Files (x86)\WarCraft III - 1.26\redist\miles\Mp3dec.asi
0x60000000 - 0x6005D000 C:\Program Files (x86)\WarCraft III - 1.26\ijl15.dll
0x63EB0000 - 0x647DB000 C:\WINDOWS\System32\DriverStore\FileRepository\c0318486.inf_amd64_11ba0b4b7cc81d52\atiumdag.dll
0x647E0000 - 0x6487B000 C:\WINDOWS\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9348_none_d08c1480442bf1e1\MSVCR80.dll
0x64AC0000 - 0x64B4E000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.16299.64_none_2c284a8117b59840\COMCTL32.dll
0x669D0000 - 0x66B4B000 C:\WINDOWS\System32\DriverStore\FileRepository\c0318486.inf_amd64_11ba0b4b7cc81d52\aticfx32.dll
0x66FB0000 - 0x66FD6000 C:\WINDOWS\SYSTEM32\cryptnet.dll
0x66FF0000 - 0x66FF6000 C:\WINDOWS\SYSTEM32\detoured.dll
0x67000000 - 0x67020000 C:\WINDOWS\SYSTEM32\amdihk32.dll
0x679C0000 - 0x679E7000 C:\WINDOWS\System32\DriverStore\FileRepository\c0318486.inf_amd64_11ba0b4b7cc81d52\atiu9pag.dll
0x67A80000 - 0x67A88000 C:\WINDOWS\SYSTEM32\AVRT.dll
0x67A90000 - 0x67AEB000 C:\WINDOWS\System32\MMDevApi.dll
0x67AF0000 - 0x67BE4000 C:\WINDOWS\SYSTEM32\AUDIOSES.DLL
0x67BF0000 - 0x67C12000 C:\WINDOWS\System32\DEVOBJ.dll
0x6C190000 - 0x6C1AE000 C:\WINDOWS\SYSTEM32\gpapi.dll
0x6C1B0000 - 0x6C1DF000 C:\WINDOWS\system32\rsaenh.dll
0x6C280000 - 0x6C30C000 C:\WINDOWS\SYSTEM32\CoreMessaging.dll
0x6C310000 - 0x6C544000 C:\WINDOWS\SYSTEM32\CoreUIComponents.dll
0x6C550000 - 0x6C5C7000 C:\WINDOWS\SYSTEM32\TextInputFramework.dll
0x6C5D0000 - 0x6C69E000 C:\Windows\System32\Windows.UI.dll
0x6E0D0000 - 0x6E19B000 C:\WINDOWS\SYSTEM32\wintypes.dll
0x6F000000 - 0x6FBB5000 C:\Program Files (x86)\WarCraft III - 1.26\Game.dll
0x70BB0000 - 0x70C66000 C:\WINDOWS\SYSTEM32\d3d8.dll
0x70DF0000 - 0x70DF8000 C:\WINDOWS\SYSTEM32\WINNSI.DLL
0x712B0000 - 0x7138F000 C:\WINDOWS\SYSTEM32\OPENGL32.dll
0x71C40000 - 0x71C65000 C:\WINDOWS\SYSTEM32\GLU32.dll
0x71C70000 - 0x71CF0000 C:\WINDOWS\SYSTEM32\DSOUND.DLL
0x72000000 - 0x72007000 C:\WINDOWS\SYSTEM32\d3d8thk.dll
0x726B0000 - 0x726D3000 C:\WINDOWS\system32\dwmapi.dll
0x72710000 - 0x72789000 C:\WINDOWS\system32\uxtheme.dll
0x72790000 - 0x72A54000 C:\WINDOWS\SYSTEM32\WININET.dll
0x72BE0000 - 0x72C35000 C:\WINDOWS\SYSTEM32\mswsock.dll
0x73980000 - 0x73AFA000 C:\WINDOWS\System32\PROPSYS.dll
0x73C50000 - 0x73C63000 C:\WINDOWS\SYSTEM32\CRYPTSP.dll
0x73CE0000 - 0x73D08000 C:\WINDOWS\SYSTEM32\ntmarta.dll
0x73D10000 - 0x73D34000 C:\WINDOWS\SYSTEM32\dbgcore.DLL
0x73D40000 - 0x73EC1000 C:\WINDOWS\SYSTEM32\dbghelp.dll
0x73F30000 - 0x73F49000 C:\WINDOWS\SYSTEM32\bcrypt.dll
0x73F50000 - 0x73F80000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL
0x74240000 - 0x74263000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
0x742D0000 - 0x742F4000 C:\WINDOWS\SYSTEM32\WINMM.dll
0x74370000 - 0x74378000 C:\WINDOWS\SYSTEM32\WSOCK32.dll
0x743A0000 - 0x743A8000 C:\WINDOWS\SYSTEM32\VERSION.dll
0x743B0000 - 0x743BA000 C:\WINDOWS\System32\CRYPTBASE.dll
0x743C0000 - 0x743E0000 C:\WINDOWS\System32\SspiCli.dll
0x743E0000 - 0x74423000 C:\WINDOWS\System32\sechost.dll
0x74430000 - 0x74500000 C:\WINDOWS\System32\KERNEL32.DLL
0x74500000 - 0x74522000 C:\WINDOWS\System32\GDI32.dll
0x74530000 - 0x74575000 C:\WINDOWS\System32\SHLWAPI.dll
0x74580000 - 0x74587000 C:\WINDOWS\System32\NSI.dll
0x74590000 - 0x74767000 C:\WINDOWS\System32\KERNELBASE.dll
0x747D0000 - 0x748E7000 C:\WINDOWS\System32\ucrtbase.dll
0x748F0000 - 0x7496C000 C:\WINDOWS\System32\msvcp_win.dll
0x74970000 - 0x74AB4000 C:\WINDOWS\System32\MSCTF.dll
0x74AC0000 - 0x74ACE000 C:\WINDOWS\System32\kernel.appcore.dll
0x74AE0000 - 0x74B46000 C:\WINDOWS\System32\WS2_32.dll
0x74B50000 - 0x74CD2000 C:\WINDOWS\System32\CRYPT32.dll
0x74CE0000 - 0x74CEE000 C:\WINDOWS\System32\MSASN1.dll
0x74CF0000 - 0x74DAD000 C:\WINDOWS\System32\msvcrt.dll
0x74DB0000 - 0x74DF6000 C:\WINDOWS\System32\WINTRUST.dll
0x74E00000 - 0x74F5F000 C:\WINDOWS\System32\gdi32full.dll
0x74FC0000 - 0x762F3000 C:\WINDOWS\System32\SHELL32.dll
0x76360000 - 0x76457000 C:\WINDOWS\System32\ole32.dll
0x76460000 - 0x764B7000 C:\WINDOWS\System32\bcryptPrimitives.dll
0x764C0000 - 0x76538000 C:\WINDOWS\System32\ADVAPI32.dll
0x76540000 - 0x765C8000 C:\WINDOWS\System32\shcore.dll
0x765D0000 - 0x76816000 C:\WINDOWS\System32\combase.dll
0x76820000 - 0x768F4000 C:\WINDOWS\System32\comdlg32.dll
0x76900000 - 0x769BE000 C:\WINDOWS\System32\RPCRT4.dll
0x76F60000 - 0x76F74000 C:\WINDOWS\System32\profapi.dll
0x76FB0000 - 0x76FE8000 C:\WINDOWS\System32\cfgmgr32.dll
0x76FF0000 - 0x775B6000 C:\WINDOWS\System32\windows.storage.dll
0x775C0000 - 0x775D6000 C:\WINDOWS\System32\win32u.dll
0x775E0000 - 0x77755000 C:\WINDOWS\System32\USER32.dll
0x777F0000 - 0x77872000 C:\WINDOWS\System32\clbcatq.dll
0x77880000 - 0x778C5000 C:\WINDOWS\System32\powrprof.dll
0x778D0000 - 0x778F5000 C:\WINDOWS\System32\IMM32.dll
0x77900000 - 0x77993000 C:\WINDOWS\System32\OLEAUT32.dll
0x779A0000 - 0x77B2D000 C:\WINDOWS\SYSTEM32\ntdll.dll
дальше уже - Memory Dump
Так... Щас обнаружил что это у меня такая херня со всеми картами которые я сохранял в невгене... ВСЕ запутанее и странееее...
Проблема решилась переустановкой редактора повторным сохранением карты. Дело было в конфликте программы мусорщика ВСЕМ СПС.

23

» WarCraft 3 / vJass начало

Похожие вопросы:

ответ
Sergey105, проблема в способе хранения а не в вджасс
цикл бегает от 1 до count включительно
первый объект будет в 1 ячейке
второй во 2
третий в третьей
count равен 3
раз время везде 6 секунд то первой освободиться первая ячейка
count станет равен 2
и цикл будет обрабатывать ячейки 1(пустая) и 2
но объект в 3 ячейке всё ещё остался так как время для него не закончилось
а так как мы его не удалили а просто потеряли то и эффект и экземпляр структуры остаются
и того утечка памяти
вот статья которую можно юзать как пример
и на будущее
для кода используй форматирование код
а большие куски кода вноси под кат
вот статья про форматирование
ответ
Никакой, все атачи и ресайклы работают примерно одинаково.
ответ
Функшн поинтеров помимо типа code в жассе нет. Можно полагаться только на ExecuteFunc, куда аргументы передаются только глобалками, соответственно никакого тайпчекинга.
Использовать можно например так
struct mystruct
    static method mymethod takes nothing returns nothing
        call BJDebugMsg("this works")
    endmethod
endstruct

function myfunction takes nothing returns nothing
    call ExecuteFunc(mystruct.mymethod.name) //ExecuteFunc compatibility

    call OnAbilityCast('A000',mystruct.mymethod.name)
    //for example, caster system's OnAbilityCast, requires a function name
endfunction
Взято из vjass manual.
ответ
массив, обмусолено было много раз

23

» WarCraft 3 / 7-ой тип атаки

Похожие вопросы:

ответ
Эмм что за ерунда, сократил код, убрав всё лишнее, но утечки все равно остаются, по 1.5 - 2 хэндла за каждое нанесение урона (тип хэндла не знаю как посмотреть). Когда триггер отключаешь, то всё нормально.
Сокращенный код
function SDMSCreateTextTag takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local unit s=GetEventDamageSource()
    local integer i=GetConvertedPlayerId(GetOwningPlayer(u))
    local texttag tt=CreateTextTag()
    local real dmg=GetEventDamage()

    if ( dmg > 1.00 ) and ( dmg < 9999.00 ) then
        if GetPlayerId(GetOwningPlayer(u))==12 then
            call SetTextTagText(tt, "|cff9db9eb-"+I2S(R2I(dmg))+"|r", 0.023)
        else
            call SetTextTagText(tt, "|cffffa500-"+I2S(R2I(dmg))+"|r", 0.023)
        endif
        call SetTextTagPosUnit(tt, u, 0)
        call SetTextTagColor(tt, 255, 255, 255, 255) 
        call SetTextTagVelocity(tt, 0.05325*Cos(90 * bj_DEGTORAD), 0.05325*Sin(90 * bj_DEGTORAD))
        call SetTextTagPermanent(tt, false)
        call SetTextTagLifespan(tt, 1.0)
        call SetTextTagFadepoint(tt, 0.0)
    endif
    call PolledWait(2.0)

    call DestroyTextTag(tt)
    set u=null
    set s=null
    set i=0
    set dmg=0
    set tt=null
endfunction

function SDMSTriggerRegisterUnitDamaged takes nothing returns nothing
    call TriggerRegisterUnitEvent(udg_SDMStrigger,GetEnteringUnit(),EVENT_UNIT_DAMAGED)
endfunction

function theSDMSTriggerActions takes nothing returns nothing
    local trigger UnitEnter=CreateTrigger()

    call TriggerRegisterEnterRectSimple(UnitEnter, gg_rct_Arena)
    call TriggerAddAction(UnitEnter,function SDMSTriggerRegisterUnitDamaged)

    set UnitEnter=null
endfunction

function InitTrig_the_SDMS_Trigger takes nothing returns nothing
    local trigger tr=CreateTrigger()

    set udg_SDMStrigger=CreateTrigger()//Тут также меняется название глобальной переменной типа триггер.
    call TriggerAddAction(udg_SDMStrigger,function SDMSCreateTextTag)
    call TriggerRegisterTimerEventSingle(tr,0.0)
    call TriggerAddAction(tr,function theSDMSTriggerActions)

    set tr=null
endfunction
Wait вызывает утечки ((
Пришлось делать через таймер

23

» WarCraft 3 / Как удалить все предметы на карте?

Похожие вопросы:

ответ
выбираешь все юниты,деструктэйблы,итемы и сохраняеш в кэш а также сохраняешь их координаты,но в мультиплеере кэш нельзя сохранить на диск,так что если надо сохранять в мультиплеере то юзай прелоад а если не надо сохранять на диск то юзай структуры или хэш
ответ
стемы
Я удалял всеь код кроме етой системы все ефект тотже. также я писал что переносил наработку на иную мапу и там все работало. понятно что проблема не в коде..по тому как баг в том что рынок(юнит) меняет владельца, на красного скажем, еслиб не менял багаб небыло, но есть карта где он есть.. на разных мапах при абсолютно едентичных настройках юнитов, и коде(никакого второстепенного кода нет тока тот что в 1м посту)
опшем так я психанул и начал отрезать куски из мапы, сначала в 10 раз удалил весь код кроме наработки, затем удалил итемы, и вернул код и вот чудо баг пропал,
=============================================================================
думаю проблема была в том что иды предметам я в ручную прописывал, там была своя закономерность, но увы теперь придется периписать все иды предметов, и заминить их в коде что очень ни удобно и моторно=(
ответ
~8gabriel8:
mishanka122:
Если во всех картах одинаковый id, значит покопайся в хеше.
Это как, можно в личку?
Проблему решил, переделав стандартную способность, а не создавая нестандартную. Это почти что панацея от подобных случаев, когда id (ещё называют raw-code) способности меняется.
ответ
Steal nerves, Сделай с нуля или возьми готовую на хайве.
ответ
nvc123, если честно мне его действия очень напоминают хитрое попрошайничество. Да и на сайте тем по типу - "Как посчитать количество предметов в области" уже штук 3-4 было. Да и я бы ему рекомендовал провернуть такой трюк сначала с одним предметом а потом понять принцип и склепать по аналогии еще сколько нужно раз. И не проще ли сделать 1 круг для все этих 10 предметов и рядом круг для жертвы?

23

» WarCraft 3 / Хост бот

Похожие вопросы:

ответ
EnergyFrost, шта?
Короче, лучше тебе купить бота.
ответ
"Далеко твоя рпг не уйдёт" моя рпг тебя переживет.
Ты тоже когда родился не умел так нагло хамить незнакомым людям, научился же как то. Люди с более серьезным отношением к миру чем "изменить систему один не могу но буду плакать об этом" могут изучить все что захотят и даже в одиночку будут стоить больше чем тысяча "всегда сдающихся" людей,
и тот человек (Да удалось, даже был лаунчер для этой игры. Forgotten Land) это подтвердил, хотя я уверен что он быстро опустил руки.
p.s чел прекращай настраивать других людей на поражение, если ты что-то можешь дать - дай, если хочешь чтобы другие не добились успеха чтобы ты оказался прав и не чувствовал себя ущербным то просто отойди в сторону.
Я на все твои выпады отвечу лишь одной фразой:
"Dota была обычной картой для warcraft 3 и она поначалу тоже была пустой ".
Ответы получены, пару шарящих людей нашел, (дай бог каждому такого человека который рассказал мне о многом что тут считают до сих пор невозможным)
Спасибо за поддержку! и особенно одному пользователю. Ведь именно благодаря таким людям как life2smiler, люди не делают хорошие проэкты а другие люди соответственно вынуждены играть в некачественные карты и в течении нескольких лет не находить решения наболевших проблем
(если нет хотя бы 1 го человека кому удалось сделать что-то необычное то все остальные продолжат считать это невозможным) А сегодня стало ясно что могут не знать о чем либо не только потому что никто не делал этого, а потому что человек на самом деле сделал но никому говорить не стал :)
ответ
Хостуй сам!
ответ
короче лаунчер при запуске палит версию вара и посылает на нужный серв
все
по другому просто никак не может быть
а то, сколько серверов держит один проект - дело уже другое
и с одного пк можно запустить сколько угодно серверов, при наличии рук и ресурсов
ответ
На своём...

23

» WarCraft 3 / Рекурсия

Похожие вопросы:

ответ
екзекут принимает строку
function Recursion takes nothing returns nothing
call TriggerExecute("Recursion")
endfunction
а вообще что за бред
фатал делается гетлокалплеером и техникой
ответ
map_maiker, как и в java или c++
а вообще неужели попробовать самому дольше чем создать ресурс?
ответ
Увы низя указывать рекурсии на взаимосвязи элементов или юнитов.
Если вы хотите отменять апгрейды зданий, делайте их кастомно к примеру на основе продажи\подготовки юнитов, только здание продало\построило определённого юнита сразу же изменть его на другое, попутно удалив подготовленного\проданного юнита.
Такой принцип используется в TD от близзард ''Лазурные башни".
Можно попробовать с помощью морфов сфинкса.
ответ
Maniac_91, фактически такая генерация и была придумана Нотчем для майнкрафта. Просто обычная система "биомов". Это кстати очень неплохо, ведь для каждого биома ты можешь подгружать свой пул декораций и так разнообразить визуальную составляющую игры.
Так же перед началом игры (после загрузки карты), можно сделать плашку "загрузки генерации", которая показывала бы пользователям % готовность генерации. А далее, таймерами или вейтами, выставлять "отдых" для варкрафта из-за нагрузки. Мол, каждые 1500 выполнений триггера - отдохни на секунду, хорош.
ответ
Steal nerves:
в чем разница между ExecuteFunc и просто call
PT153, ну call просто вызываешь потоком (он не создает поток), например у тебя в ряд выставлены сверху вниз названия функции со скобочками (и внутри скобок аргументы, а если не берет никаких аргументов, то внутри скобок пусто) и через call вызывает одну за другой последовательно сверху вниз.
call название функции (аргументы)
Допустим первую верхнюю функцию вызвали, и ее обработали, потом поток берет вторую внизу функцию и обрабатывает и т.д. Но у потока есть ограничения в операциях, как только выполнится определенное количество операций, варкрафт экстренно завершает поток и даже не сообщает об этом.
call функция 1()
call функция 2()
......
call функция 999()
Тут хочу обратить внимание и на то, насколько длинный код в этой вызываемой функции. И сколько вызываемой работы потребует: всякие вычисления, бесконечные циклы и другое. Если длинный код у тебя, и кучу циклов, и сами циклы большую работу совершают, то следует разбить на участки или как-то переделать что ли, уменьшить работу цикла и др.
Можно разбить на функции и ...
  1. вызывать через call, но так делать не стоит. Поток вызывает эти функции последовательно.
  2. Нужно делать задержку (через вэйт), например в ИИ-скриптах варкрафта делают задержку, чтобы не было нагрузки. Вместо вэйта можно таймер.
  3. через ExecuteFunc, ExecuteFunc создает отдельный новый поток. информацию про ExecuteFunc скидывал выше.

23

» WarCraft 3 / Текст на фоновом экране

Похожие вопросы:

ответ
vLAd333, с помощью сайта конвертировал в какой формат?
посмотрел карту
блин я же просил проверить пути к текстурам
мало того что везде war3mapImported которого быть не должно
так ещё и модель требует разрезать картинку на 4 части
короче читаем статьи про создание лоадскринов и импорт файлов в карту
ответ
Крч я хочу сделать так что бы при ожидании чего либо, например начало игры, был черный экран
Вот тригерная команда:
ну или камера была наведена на зону где стоит туман войны без серого просвета тумана, ну то есть... что бы не было видно рельефа
Для этого сними галочку вот тут:
ответ
~8gabriel8:
Тебе нужно открыть редактор кампаний, на вкладке с кнопками экрана кампании внизу можно будет указать фон и музыку.